package co.com.travelsoft.ati.entities.ejb;

import java.util.List;

import javax.ejb.Remote;

import co.com.travelsoft.ati.entities.Usuarios;
import co.com.travelsoft.ati.exception.TravelSoftException;

/**
 * EJB remoto que permite el manejo de la
 * logica de negocio de un usuario.
 * 
 * @author Luis Eduardo
 *
 */
@Remote
public interface UsuariosEJB {

	/**
	 * Permite la creacion de un usuario.
	 * @param usuarios
	 * @exception throws TravelSoftException 
	 */
	public abstract void crear(Usuarios usuarios) throws TravelSoftException;

	/**
	 * Permite buscar un usuario por su identificacion.
	 * @param usuarios
	 * @return Usuarios : un objeto usuario
	 */	
	public abstract Usuarios buscarPorId(Usuarios usuarios);

	/**
	 * Permite listar todos los usuarios existentes.
	 * @return List<Usuarios> : una lista de usuarios
	 */	
	public abstract List<Usuarios> listar();

	/**
	 * Permite actualizar la informacion de un usuario.
	 * @param usuarios
	 * @exception throws TravelSoftException
	 */	
	public abstract void actualizar(Usuarios usuarios) throws TravelSoftException;
	
	/**
	 * Permite borrar un usuario.
	 * @param usuarios
	 * @exception throws TravelSoftException
	 */	
	public abstract void borrar(Usuarios usuarios) throws TravelSoftException;

}